/**
 * 司机相关API
 */

// 获取应用实例
const app = getApp();

/**
 * 获取司机信息
 * @param {Object} options - 请求选项
 * @returns {Promise} - 请求Promise
 */
function getDriverInfo(options = {}) {
  return app.request.get('/api/driver/info/', {}, options);
}

/**
 * 更新司机信息
 * @param {Object} data - 司机信息数据
 * @param {Object} options - 请求选项
 * @returns {Promise} - 请求Promise
 */
function updateDriverInfo(data, options = {}) {
  return app.request.put('/api/driver/info/', data, options);
}

/**
 * 获取司机可接订单列表
 * @param {Object} params - 查询参数
 * @param {Object} options - 请求选项
 * @returns {Promise} - 请求Promise
 */
function getAvailableOrders(params = {}, options = {}) {
  return app.request.get('/api/driver/orders/available/', params, options);
}

/**
 * 司机接单
 * @param {string} orderId - 订单ID
 * @param {Object} options - 请求选项
 * @returns {Promise} - 请求Promise
 */
function acceptOrder(orderId, options = {}) {
  return app.request.post(`/api/driver/orders/${orderId}/accept/`, {}, options);
}

/**
 * 司机完成订单
 * @param {string} orderId - 订单ID
 * @param {Object} data - 完成订单的相关数据
 * @param {Object} options - 请求选项
 * @returns {Promise} - 请求Promise
 */
function completeOrder(orderId, data = {}, options = {}) {
  return app.request.post(`/api/driver/orders/${orderId}/complete/`, data, options);
}

module.exports = {
  getDriverInfo,
  updateDriverInfo,
  getAvailableOrders,
  acceptOrder,
  completeOrder
};